package com.swa99ylum.pjv.sample.s00_helloworld.s0020;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Map;

import com.alibaba.fastjson.JSONPath;
import com.swa99ylum.pjv.corrector.Corrector;
import com.swa99ylum.pjv.util.PJVUtils;

/**
 * 修正方式：将 日期格式 改为 yyyy-MM-dd
 *
 */
public class Corrector1 extends Corrector {
	@Override
	public void doCorrect(Object rootObject, String[] nodePath, String nodeName, Map<String, Object> parentValue, Object incorrectValue) {
		if(incorrectValue == null) return;
		
		try {
			DateFormat df1 = new SimpleDateFormat("yyyy-MM-dd");
			DateFormat df2 = new SimpleDateFormat("yyyy/MM/dd");
			
			String value = df2.format(df1.parse(String.valueOf(incorrectValue)));			
			
			JSONPath.set(rootObject, PJVUtils.getNodePathStr(nodePath), value);
			
			parentValue.put(nodeName, value);//"使用 map.put" 比 "使用 JSONPath.set" 效率更高
			
		} catch (ParseException e) {
			e.printStackTrace();
		}
	}
}
